View Javadoc

1   /*
2    * Copyright (C) 1998-2000 Semiotek Inc.  All Rights Reserved.
3    *
4    * Redistribution and use in source and binary forms, with or without
5    * modification, are permitted under the terms of either of the following
6    * Open Source licenses:
7    *
8    * The GNU General Public License, version 2, or any later version, as
9    * published by the Free Software Foundation
10   * (http://www.fsf.org/copyleft/gpl.html);
11   *
12   *  or
13   *
14   * The Semiotek Public License (http://webmacro.org/LICENSE.)
15   *
16   * This software is provided "as is", with NO WARRANTY, not even the
17   * implied warranties of fitness to purpose, or merchantability. You
18   * assume all risks and liabilities associated with its use.
19   *
20   * See www.webmacro.org for more information on the WebMacro project.
21   */
22  
23  
24  package org.webmacro.servlet;
25  
26  import org.webmacro.Context;
27  import org.webmacro.ContextTool;
28  import org.webmacro.PropertyException;
29  
30  import javax.servlet.http.HttpSession;
31  
32  /***
33   * Provide Template with access to the HttpSession associated
34   * with the current request.
35   */
36  public class SessionTool extends ContextTool
37  {
38  
39      public Object init (Context context)
40              throws PropertyException
41      {
42          try
43          {
44              WebContext wc = (WebContext) context;
45              HttpSession s = wc.getRequest().getSession(true);
46              return s;
47          }
48          catch (ClassCastException ce)
49          {
50              throw new PropertyException(
51                      "SessionTool only works with WebContext", ce);
52          }
53      }
54  
55  }